home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_oth / tm480 / tmissue.exe / OVERVIEW.TSK < prev    next >
Text File  |  1991-09-10  |  19KB  |  828 lines

  1. ; Title   : OVERVIEW.TSK                Last Updated : September 5, 1991
  2. ; Author  : Steve Johnson - FmP.        Version      : 1.60
  3. ; Purpose : Gives access to all other tasks in Shareware issue.
  4. ; Notes   : Uses env. var. FMPDIR for forms
  5. GOTO 1INIT
  6. 1START
  7.  
  8. move 0f800h to bbmask
  9. menu 1,"SMENU"
  10. option 1,31,34
  11.   move hilite to main_choice 
  12.   screen 1
  13.   forms logon.ovr
  14.   screen 0
  15.   if choice = 31
  16.     put bounce_bar
  17.     forms formsname
  18.     return
  19.   fi
  20.   put tml nowait
  21.   move 8000h to bbmask
  22.   menu 4,choice
  23.   option 4,32  
  24.     put menus_help
  25.     exitm
  26.   option 4,33
  27.     put forms_help
  28.     exitm
  29.   option 4,34
  30.     move 0c000h to bbmask
  31.     menu 5,b_bar
  32.     option 5,30
  33.       exitm
  34.     option 5,31
  35.     option 5,default
  36.       if choice = 31
  37.         move 'help' to fname
  38.       else
  39.         move display to fname
  40.       fi
  41.       move hilite to m_choice
  42.       trim fname
  43.       move 8018h to bbmask 
  44.       menu 6,fname 
  45.       option 6,1
  46.         move m_choice to choice
  47.         return 1
  48.       option 6,41
  49.         move m_choice to choice
  50.         decrement choice
  51.         if choice = 0 
  52.           move 8 to choice
  53.         fi
  54.         return 101
  55.       option 6,42
  56.         move m_choice to choice
  57.         increment choice
  58.         return 101
  59.       option 6,30
  60.         exitm
  61.       endm 6 
  62.       exitm
  63.     endm 5
  64.     exitm
  65.   endm 4
  66.   forms formsname
  67.   move true to bbdisp
  68.   move main_choice to choice
  69.   return
  70. option 1,1
  71.   move 0c000h to bbmask
  72.   menu 11,'INTMENU'
  73.   option 11,31
  74.     if hilite = 5 or hilite = 4
  75.       move display to formname
  76.       trim formname
  77.       put formname nowait
  78.     fi
  79.     clear bbdisp
  80.     move hilite to choice
  81.     return
  82.   option 11,1
  83.     clear choice
  84.     until choice = 31 ;<esc> not <f1> !
  85.       move 8000h to bbmask
  86.       put "OVERVIEW" 
  87.       increment choice
  88.       if choice < 19
  89.         move display to formname
  90.         trim formname
  91.         put formname wait 0 noclear
  92.         clear bbdisp
  93.       fi
  94.     fi
  95.     move 1 to choice
  96.     return
  97.   option 11,2
  98.     move 08000h to bbmask
  99.     clear choice
  100.     menu 112,"DOC_MENU"
  101.     option 112,1,3
  102.       if no_comspec
  103.         return
  104.       fi
  105.       move display to filename
  106.       trim filename
  107.       dir filename
  108.       if found
  109.         display normal cls
  110.         RUN "list " filename
  111.         if resp ne 0
  112.           put "NO_COMSPEC"
  113.           inkey char
  114.         fi
  115.       else
  116.         cursor 10 14 "File " filename " not found - have you set FMPDIR?"
  117.         cursor 11 14 'Press any key'
  118.         inkey char
  119.       fi
  120.       return
  121.     option 112,4
  122.       sizevar c_dir 0
  123.       user c_dir
  124.       clear count min_missing missing
  125.       insert c_dir
  126.       put "DRIVE"
  127.       if keyval = esc
  128.         clear bbdisp
  129.         return
  130.       fi
  131.       display normal cls 'Integrity check in progress.'
  132.       display 2 'Any missing files will be highlighted...'
  133.       until count = 43
  134.         move entry count of filelist to filename
  135.         trim filename
  136.         if filename ne null
  137.           combine c_dir '\' filename into string
  138.           replace all '\\' of string with '\' 
  139.           userline "Looking for " string
  140.           dir string
  141.           add 1 to count giving group_id
  142.           locate line column
  143.           menu 3,group_id
  144.           option 3,1
  145.             display crlf 'Checking essential files from root of Issue disc)'
  146.             exitm
  147.           option 3,11
  148.             display crlf 'Checking files required by OVERVIEW task (frozen in TMISSUE)'
  149.             exitm
  150.           option 3,25
  151.             display crlf 'Checking files comprising EXAMPLE tasks set (frozen in TMEXAM)'
  152.             exitm
  153.           option 3,38
  154.             display crlf 'Checking files comprising On-line MANUALS tasks (frozen in TMMANUAL)'
  155.           option 3,default
  156.             exitm
  157.           endm 3
  158.           if not found 
  159.             if filename ct '.MAC'
  160.               replace '.MAC' of string with '.OVR'
  161.               dir string
  162.               replace '.OVR' of string with '.MAC'
  163.               if found
  164.                 display crlf string 
  165.                 locate line column
  166.                 cursor line 39 'OVR file found so MAC not required'
  167.               fi
  168.             fi
  169.             if not found
  170.               move true to missing
  171.               if count < 17
  172.                 move true to min_missing
  173.               fi
  174.               locate line column
  175.               if line < 22
  176.                 display crlf attention string 
  177.                 lookfor STRING
  178.                 locate line column
  179.                 if found
  180.                   CURSOR LINE 39 normal '(' filename ' Accessible via APPEND)'
  181.                  else
  182.                   CURSOR LINE 39 normal '(' filename ' Not accessible via APPEND)'
  183.                 fi
  184.               fi
  185.             fi
  186.           fi
  187.         fi
  188.       fi count
  189.       if missing
  190.         if not min_missing
  191.           userline 'All files comprising minimal system are present  Press any key...'
  192.         else
  193.           userline 'Not all files for even a minimal system are present.  Press any key...'
  194.         fi
  195.         inkey char
  196.         put missing_advice 
  197.       else
  198.         userline "All files present.  Press any key..." 
  199.         inkey char 
  200.       fi
  201.       return
  202.     option 112,5
  203.       if no_comspec
  204.         return
  205.       fi
  206.       if build@ = 1
  207.         put notshare
  208.         clear bbdisp
  209.         return
  210.       fi
  211.       if build@ = 2
  212.         put registered
  213.         clear bbdisp
  214.         return
  215.       fi
  216.       sizevar c_dir 0
  217.       user c_dir
  218.       clear count abort
  219. ;     check files available first
  220.       clear count
  221.       until count = 12
  222.         combine c_dir '\' entry count of iss_source into string
  223.         replace all '\\' of string with '\' 
  224.         trim string
  225.         DIR string
  226.         IF NOT FOUND
  227.           insert string
  228.           put NOSOURCE noclear
  229.           clear bbdisp
  230.           return
  231.         fi
  232.       fi count
  233.       put repdrive noclear
  234.       if anyfk
  235.         return
  236.       fi
  237.       get char
  238.       upper char
  239.       move ddrive to locn
  240.       select char
  241.       user '\'
  242.       if resp ne 0
  243.         select locn
  244.         user c_dir
  245.         cursor 10 14 'Sorry: Bad response from drive ' char  ':' 15
  246.         cursor 11 14 'Suspect no disc or not formatted. Press any key...'
  247.         inkey char
  248.         return
  249.       else
  250.         sizevar string 12
  251.         dspace
  252.         move display to string
  253.         if string < rep_space
  254.           select locn
  255.           user c_dir
  256.           cursor 10 14 'Sorry: Insufficient space on drive ' char ':' 10 
  257.           cursor 11 14 '(requires 260000 bytes)  Press any key...'
  258.           inkey char
  259.           return
  260.         fi
  261.       fi
  262.       select locn
  263.       user c_dir
  264.       clear count
  265.       until count = 12
  266.         move entry count of iss_source to filename
  267.         combine char ':' entry count of iss_SOURCE into string
  268.         cursor 10 14 50
  269.         trim filename string
  270.         cursor 10 14 "Copying " filename ' to ' string
  271.         run "copy " filename 1 string " >nul:"
  272.         dir string
  273.         if not found
  274.           move true to errors
  275.           insert filename string
  276.           put 'NODEST' noclear
  277.           return
  278.         fi
  279.       fi count
  280.       put replicate_ok
  281.       return
  282.     option 112,6
  283.     option 112,30
  284.       move 2 to choice
  285.       move true to bbdisp
  286.       return 1
  287.     endm 112
  288.     move 2 to choice
  289.     return  
  290.   option 11,3
  291.     clear choice
  292.     if conventional
  293.       menu 113,"CONVENTIONAL"
  294.     else
  295.       move 8000h to bbmask
  296.       menu 113,"USER_INTERFACE"
  297.     fi
  298.     option 113,1
  299.       if conventional
  300.         CLEAR CONVENTIONAL
  301.       else
  302.         MOVE TRUE TO CONVENTIONAL
  303.       fi
  304.       display cls
  305.       cursor 20 10 bright normal
  306.       display "Press a key to select USER INTERFACE again to see the contrast"
  307.       wait 5
  308.       move 3 to choice
  309.       move 2 to timer
  310.       return 101
  311.     option 113,2
  312.       display cls bright normal
  313.       cursor 12 10 "The ASK command provides a conversational mode of input."
  314.       cursor 13 10 "Here the text is being placed 'manually' on screen by"
  315.       cursor 14 10 "the cursor command. "
  316.     option 113,3
  317.       clear continue
  318.       until continue
  319.         if choice = 2
  320.           cursor 16 10
  321.           ask continue "Ready to go on (Y or N)"
  322.         else
  323.           put "GOON" noclear
  324.           get continue
  325.         fi
  326.       fi
  327.       return
  328.     option 113,4
  329.       move ldate to long_date
  330.       move time to current_time
  331.       insert long_date current_time
  332.       put "TEXT"
  333.       return
  334.     option 113,5
  335.       put "OVERLAY" noclear
  336.       return
  337.     option 113,6
  338.       put "WINDOW"
  339.       return
  340.     option 113,7,8
  341.       move choice to m_choice
  342.       clear done continue
  343.       until done
  344.         trim current_time short_date string filename num logi
  345.         fieldfill current_time short_date string filename num logi
  346.         if m_choice = 7 
  347.           if continue
  348.             put "DATACAPTURE" nodisp noclear
  349.           else
  350.             put "DATACAPTURE" noclear
  351.           fi
  352.         else
  353.           if continue
  354.             put "DATACAPTURE2" nodisp noclear
  355.           else
  356.             put "DATACAPTURE2" noclear
  357.           fi
  358.         fi
  359.         if not anyfk
  360.           get current_time short_date string filename num logi
  361.           display cls
  362.           cursor 10 10 "I'll remember those values for next time!"
  363.           move true to done
  364.         else
  365.           if fk1
  366.             forms logon.ovr
  367.             put forms_help
  368.             move true to continue
  369.             forms formsname
  370.           else
  371.             display cls
  372.             move true to done
  373.             cursor 10 10 "You cheated and pressed function key " FUNKEY
  374.             if funkey = 10
  375.               display ' or <esc>'
  376.             fi
  377.           fi
  378.         fi
  379.       fi
  380.       cursor 12 10
  381.       wait
  382.       move m_choice to choice 
  383.       return
  384.     option 113,30
  385.     option 113,9
  386.       move 3 to choice
  387.       return 1
  388.     endm 113
  389.     move 5 to choice
  390.     return
  391.   option 11,4
  392.   option 11,5
  393.     go 1CHECK_AVAILABILITY
  394.   option 11,6
  395.   option 11,30
  396.     move 1 to choice
  397.     return 1
  398.   endm 11     
  399. option 1,2
  400.   move 0c000h to bbmask
  401.   clear choice
  402.   menu 12,'EUMENU'
  403.   option 12,31
  404.     move display to formname
  405.     trim formname
  406.     put formname nowait
  407.     clear bbdisp
  408.     move hilite to choice
  409.     return       ; re-display current menu
  410.   option 12,1
  411.   option 12,2
  412.   option 12,3
  413.     goto 1CHECK_AVAILABILITY 
  414.   option 12,30
  415.     move 2 to choice
  416.     return 1
  417.   emdm 12
  418. option 1,3
  419.   move 0c000h to bbmask
  420.   clear choice
  421.   menu 13,"TMENU"
  422.   option 13,30
  423.     move 3 to choice
  424.     return 1
  425.   option 13,31 ;F1 key pressed
  426.     move display to formname
  427.     trim formname
  428.     put formname wait 0 noclear
  429.     clear bbdisp
  430.     move hilite to choice
  431.     return       ; re-display current menu
  432.   option 13,1,15
  433.     goto 1CHECK_AVAILABILITY
  434.   endm 13
  435.   move 3 to choice
  436.   return
  437. option 1,4
  438.   move 0c000h to bbmask
  439.   clear choice
  440.   menu 14,'MANMENU'
  441.   option 14,31
  442.     move display to formname
  443.     trim formname
  444.     put formname nowait
  445.     clear bbdisp
  446.     move hilite to choice
  447.     return       ; re-display current menu
  448.   option 14,1,4
  449.     goto 1CHECK_AVAILABILITY
  450.   option 14,30
  451.     exitm
  452.   endm 14
  453.   move 4 to choice
  454.   return
  455. option 1,5
  456.   move hilite to main_choice
  457.   clear choice
  458.   put new_help nowait
  459.   move 8000h to bbmask 
  460.   menu 7,"NEW"
  461.   option 7,30
  462.     exitm
  463.   option 7,default
  464.     move hilite to m_choice
  465.     move hilite to num with lead_zeroes
  466.     combine 'NEW' num into name
  467.     move 8018h to bbmask
  468.     menu 8,name
  469.     option 8,41
  470.       decrement m_choice
  471.     option 8,42
  472.       if choice = 42
  473.         increment m_choice
  474.       fi
  475.       move m_choice to choice
  476.       if choice = 0
  477.         move 7 to choice
  478.       fi
  479.       return 101 
  480.     option 8,default
  481.     exitm
  482.     endm 8
  483.     move m_choice to choice
  484.     return
  485.   endm 7
  486.   move main_choice to choice
  487.   return
  488. option 1,6
  489. option 1,30
  490.   STOP
  491. endm 1
  492.  
  493. 1CHECK_AVAILABILITY
  494. if no_comspec
  495.   return
  496. fi
  497. move display to formname ; display contains topic text
  498. trim formname    ; remove trailing spaces
  499. combine formname ".TSK" 9 into searchname
  500. trim searchname
  501. dir searchname
  502. if not found
  503.   insert searchname
  504.   if formname = 'SCRMAN' or formname = 'TMMAN' or formname sw 'PRINT'
  505.     move 'TMMANUAL' to formname
  506.   else
  507.     if formname = 'SMART' or formname = 'CONFIG' or formname = 'STANDARD' or formname = 'INTRO'
  508.       move 'TMISSUE ' to formname
  509.     else
  510.       move 'TMEXAM  ' to formname
  511.     fi
  512.   fi
  513.   insert formname 
  514.   if ddrive = 'A' or ddrive = 'B'
  515.     put 'NO_ROOM' noclear
  516.     return
  517.   fi
  518.   insert fmpdir
  519.   put "NOT_AVAILABLE" noclear
  520.   get create
  521.   if not create
  522.     clear bbdisp
  523.     return
  524.   fi
  525.   move 'A' to char
  526.   trim formname
  527.   find iss_source sw formname
  528.   move entry row of iss_source to filename
  529.   trim filename
  530.   lookfor filename
  531.   until found
  532.     put "ISSUE_DISC" noclear
  533.     if funkey = 10
  534.       clear bbdisp
  535.       return
  536.     fi
  537.     get char
  538.     combine char ':' formname '.EXE' into string
  539.     lookfor string
  540.     if found
  541.       run 'copy >nul: ' string 1 filename
  542.     fi
  543.   fi
  544.   popscreen screenid
  545.   display cls
  546.   run formname
  547.   locate line column
  548.   clear screen_line
  549.   scanvid line giving screen_line
  550.   move searchname to formname
  551.   replace '.TSK' of formname with null 
  552.   popdown screenid
  553.   popfree screenid
  554.   if screen_line sw '[Y/N] N'
  555.     clear bbdisp
  556.     return
  557.   fi
  558. fi
  559. IF NOT FOUND
  560.   RETURN
  561. FI
  562. if formname ne 'NATO'
  563.   combine formname ".ovr" 9 into searchname
  564.   trim searchname
  565.   lookfor searchname
  566.   if not found
  567.     put 'CREATE_OVR'
  568.     get create
  569.     if not create
  570.       clear bbdisp
  571.       return
  572.     fi
  573.     popscreen screenid
  574.     display cls
  575.     displayln making_message
  576.     run "scr /i/q " formname
  577.     if elevel = 0
  578.       combine formname '.MAC' into macname
  579.       move '1RETURNSPACE' to returnlocn
  580.       GO 1SAVESPACE
  581. 1RETURNSPACE
  582.     else
  583.       clear create
  584.       if elevel = 1
  585.         erase searchname
  586.         insert entry elevel of scr_errors
  587.         put 'FAILED_OVR' noclear
  588.       fi
  589.     fi
  590.     popdown screenid
  591.     popfree screenid
  592.   fi
  593. fi
  594. IF FOUND OR CREATE
  595.   if formname = "CONFIG" or formname = "STANDARD"
  596.     run "tm /o" flags 1 formname
  597.   else
  598.     run "tm" 1 flags 1 formname
  599.   fi
  600.   if elevel = 0
  601.     cursor 22 40 attention " OVERVIEW Press any key to continue " normal
  602.   else
  603.     cursor 10 0 attention " OVERVIEW Problem encountered by Taskmaster" normal
  604.     if elevel = 44
  605.       cursor 11 0 'Suspect forms (OVR) file corruption. Erasing '
  606.       trim formname
  607.       append '.OVR' to formname 
  608.       display formname
  609.       erase formname
  610.     fi
  611.   fi
  612.   inkey char
  613. FI
  614. return
  615.  
  616. 1INIT
  617.  
  618. hexvar esc,1b
  619. hexvar crlf,0d0a
  620. int count
  621. int column
  622. int line
  623. int m_choice
  624. int main_choice
  625. int message_line
  626. int screenid
  627. int group_id
  628.  
  629. logical abort
  630. logical conventional
  631. logical continue
  632. logical create
  633. logical done
  634. logical errors
  635. logical min_missing
  636. logical missing
  637. logical no_comspec
  638. logical savespace
  639.  
  640. var c_dir,68    ;drive and FMPDIR
  641. var char,1
  642. var COMSPEC,68,$COMSPEC
  643. var current_time,5
  644. var discspace,12        ;free disc space returned into here
  645. var rep_space,12,'      260000'
  646. var filename,14,"OVERVIEW"
  647. var fname,20
  648. var macname,12,'OVERVIEW.MAC'
  649. var flags,4
  650. var fmpdir,68,$FMPDIR
  651. var formname,13
  652. var formsname,50
  653. var locn,1
  654. var logi,1
  655. var long_date,11
  656. var making_message,56,"Attempting to create an OVR file with SCR - Please wait!"
  657. var minlegal,12,'      100000'  ;disc space warning limit
  658. var menu_name,20,"USER_INTERFACE"
  659. var null,1
  660. var name,6
  661. var num,2
  662. var o_dir,68            ;The original directory
  663. var returnlocn,12,'2RETURNSPACE'
  664. var screen_line,80
  665. var searchname,12
  666. var short_date,11
  667. var string,40
  668.  
  669. var scr_errors,28,occurs 3,
  670. 'Success, no errors in source'
  671. 'Errors in source            '
  672. 'Fatal error, e.g. file error'
  673.  
  674. var filelist,12,occurs 43,
  675. 'TM.EXE      ' ;0 in root
  676. 'VENDOR.DOC  '
  677. 'LIST.COM    '
  678. 'LICENCE.FMP '
  679. 'INSTALL.TSK '
  680. 'INSTALL.OVR '
  681. 'FMPVT52.DEF '
  682. 'LOGON.OVR   '
  683. '            '
  684. '            ' ;9
  685. 'SCR.EXE     ' ;10 in tmissue
  686. 'LICENCE.FMP '
  687. 'SHARETM.FMP '
  688. 'README.FMP  '
  689. 'OVERVIEW.TSK'
  690. 'OVERVIEW.MAC'
  691. 'EXAMPLES.TMS'
  692. 'CONFIG.TMS  '
  693. 'CONFIG.TSK  '
  694. 'CATALOG.EUC '
  695. 'STANDARD.TSK'
  696. 'INTRO.TSK   '
  697. 'INTRO.MAC   '
  698. 'SMART.TSK   ' ;23
  699. 'TEST.TSK    ' ;24 in tmexam
  700. 'DIRECTOR.TSK'
  701. 'HVMENU.TSK  '
  702. 'BROWSE.TSK  '
  703. 'HELP.TSK    '
  704. 'HELP.MAC    '
  705. 'TMDEV.TSK   '
  706. 'MENUONE.TSK '
  707. 'HOTEMENU.TSK'
  708. 'NATO.TSK    '
  709. 'WORDPROC.TSK'
  710. 'SWEEP.TSK   '
  711. 'WHEREIS.TSK '
  712. 'TMMAN.TSK   ' ;37 in tmmanual
  713. 'TMMAN.MAC   '
  714. 'SCRMAN.TSK  '
  715. 'SCRMAN.MAC  '
  716. 'PRINTMAN.TSK'
  717. 'PRINTSCR.TSK' ;42
  718.  
  719. var iss_source,12,occurs 12,
  720. 'TM.EXE      '
  721. 'TMISSUE.EXE '
  722. 'TMEXAM.EXE  '
  723. 'TMMANUAL.EXE'
  724. 'FMPVT52.DEF '
  725. 'LOGON.OVR   '
  726. 'VENDOR.DOC  '
  727. 'LIST.COM    '
  728. 'LICENCE.FMP '
  729. 'GO.BAT      '
  730. 'INSTALL.TSK '
  731. 'INSTALL.OVR '
  732.  
  733. vconst attention,79
  734. vconst bright,41
  735. vconst cel,55
  736. vconst cep,56
  737. vconst cls,11
  738. vconst normal,5
  739.  
  740. end
  741.  
  742. if fmpdir = null
  743.   move "C:\FMP" to fmpdir
  744. fi
  745. sizevar o_dir 0
  746. if fmpdir sw "~:\"
  747.   move fmpdir to formsname
  748.   sizevar formsname 3
  749.   append '*.*' to formsname
  750.   dir formsname
  751.   if resp = 0
  752.     select fmpdir
  753.   else
  754.     displayln 'The logged drive is ' ddrive
  755.     displayln 'OVERVIEW: Cannot select the drive specified in FMPDIR i.e.: ' 
  756.     displayln FMPDIR
  757.     stop
  758.   fi
  759. fi
  760. user o_dir     ;Save working directory into o_dir
  761. user fmpdir
  762. if resp ne 0
  763.   displayln 'OVERVIEW: Cannot select the directory:'
  764.   displayln FMPDIR
  765.   displayln 'Please SET FMDIR=\dir  where dir is place you installed to.' 
  766.   stop
  767. fi
  768. move 'OVERVIEW.OVR' to formsname
  769. lookfor formsname
  770. if not found
  771.   forms logon.ovr ;in case /q and registered
  772.   insert filename formsname
  773.   put "NO_FMPDIR_FORMS"
  774.   stop
  775. fi
  776. if not colour
  777.   move "/m/o" to flags
  778. fi
  779. if comspec = null
  780.   move "c:\command.com" to comspec
  781. fi
  782. dir *.tm
  783. if not found
  784.   forms logon.ovr
  785.   put "BOUNCE_BAR"
  786.   put "TESTCARD"
  787. fi
  788. forms formsname
  789. clear current_time short_date string filename num logi
  790. dir comspec
  791. if not found
  792.   move true to NO_COMSPEC
  793.   append 20 to comspec
  794.   insert comspec
  795.   put "NO_COMSPEC"
  796. fi
  797. dir list.com
  798. if not found
  799.   insert fmpdir
  800.   put "NO_LIST"
  801. fi
  802. move true to hide
  803. move formsname to searchname
  804. go 1savespace
  805. 2RETURNSPACE
  806. GOBACK 1START
  807.  
  808. 1SAVESPACE
  809. dspace
  810. move display to discspace
  811. if discspace < minlegal
  812.   dir macname
  813.   if found  
  814.     insert searchname macname macname
  815.     put 'SAVE_SPACE'
  816.     get savespace
  817.     if savespace
  818.       erase macname
  819.     fi
  820.   fi
  821. fi
  822. goback RETURNLOCN
  823.  
  824. ENDTASK
  825. Forms source in separate file OVERVIEW.MAC.
  826. You may invoke TMISSUE to recreate OVERVIEW.MAC if deleted. 
  827.  
  828.